7 #ifndef __MSP430WARE_USCI_B_SPI_H__
8 #define __MSP430WARE_USCI_B_SPI_H__
12 #ifdef __MSP430_HAS_USCI_Bx__
31 typedef struct USCI_B_SPI_initMasterParam {
36 uint8_t selectClockSource;
38 uint32_t clockSourceFrequency;
40 uint32_t desiredSpiClock;
54 uint8_t clockPolarity;
55 } USCI_B_SPI_initMasterParam;
63 typedef struct USCI_B_SPI_changeMasterClockParam {
65 uint32_t clockSourceFrequency;
67 uint32_t desiredSpiClock;
68 } USCI_B_SPI_changeMasterClockParam;
79 #define USCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
80 #define USCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
89 #define USCI_B_SPI_MSB_FIRST UCMSB
90 #define USCI_B_SPI_LSB_FIRST 0x00
100 #define USCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
101 #define USCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
109 #define USCI_B_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
110 #define USCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
120 #define USCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
121 #define USCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
129 #define USCI_B_SPI_BUSY UCBUSY
130 #define USCI_B_SPI_NOT_BUSY 0x00
155 extern bool USCI_B_SPI_initMaster(uint16_t baseAddress,
156 USCI_B_SPI_initMasterParam *
param);
171 extern void USCI_B_SPI_changeMasterClock(uint16_t baseAddress,
172 USCI_B_SPI_changeMasterClockParam *
param);
205 extern bool USCI_B_SPI_initSlave(uint16_t baseAddress,
208 uint8_t clockPolarity);
231 extern void USCI_B_SPI_changeClockPhasePolarity(uint16_t baseAddress,
233 uint8_t clockPolarity);
248 extern void USCI_B_SPI_transmitData(uint16_t baseAddress,
263 extern uint8_t USCI_B_SPI_receiveData(uint16_t baseAddress);
284 extern void USCI_B_SPI_enableInterrupt(uint16_t baseAddress,
306 extern void USCI_B_SPI_disableInterrupt(uint16_t baseAddress,
329 extern uint8_t USCI_B_SPI_getInterruptStatus(uint16_t baseAddress,
347 extern void USCI_B_SPI_clearInterrupt(uint16_t baseAddress,
363 extern void USCI_B_SPI_enable(uint16_t baseAddress);
378 extern void USCI_B_SPI_disable(uint16_t baseAddress);
392 extern uint32_t USCI_B_SPI_getReceiveBufferAddressForDMA(uint16_t baseAddress);
406 extern uint32_t USCI_B_SPI_getTransmitBufferAddressForDMA(uint16_t baseAddress);
425 extern uint8_t USCI_B_SPI_isBusy(uint16_t baseAddress);
MPU_initThreeSegmentsParam param